﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelperLibrary
{
    [Serializable]
    public class Configuration
    {
        // general settings
        public bool Autostart { get; set; }
        public bool StartSysTray { get; set; }

        public bool DeleteEmptyFolder { get; set; }

        public string EmailAddress { get; set; }
        public string EmailPassword { get; set; }
        public string EmailSMTP { get; set; }
        public string EmailUsername { get; set; }

        // time settings
        public bool UseInterval { get; set; }
        public int ValueInterval { get; set; }
        public Timetype TypeInterval { get; set; }

        public bool UseWait { get; set; }
        public int ValueWait { get; set; }
        public Timetype TypeWait { get; set; }

        public bool UseRequest { get; set; }

        public DateTime StartTime { get; set; }
        public string LastBackup { get; set; }

        // backup settings
        public string DestinationPath { get; set; }

        public bool UseCompression { get; set; }
        public bool UseCryptography { get; set; }
        public string CryptPass { get; set; }

        public Configuration()
        {
            // general settings
            this.Autostart = false;
            this.StartSysTray = false;
            this.DeleteEmptyFolder = false;
            this.EmailAddress = "";
            this.EmailPassword = "";
            this.EmailSMTP = "";
            this.EmailUsername = "";

            this.UseInterval = false;
            this.UseWait = false;
            this.UseRequest = true;
            this.TypeInterval = Timetype.Hours;
            this.ValueInterval = 1;
            this.ValueWait = 15;
            this.TypeWait = Timetype.Minutes;
            this.StartTime = DateTime.Now;
        }
    }
}
